﻿<?xml version="1.0" encoding="utf-8" ?>
<sqlMap namespace="iCode_User" xmlns="http://ibatis.apache.org/mapping"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >
  <!--配置你的实体类的别名，一般的都是一个实体类对应一个xml-->
  <alias>
    <typeAlias alias="User" type="iCodeStudio.Entity.iCode_User" />
  </alias>

  <resultMaps>
    <resultMap id="SelectAllResult" class="User">
      <result property="iCode_User_ID" column="iCode_User_ID" />
      <result property="iCode_User_Account" column="iCode_User_Account"/>
      <result property="iCode_User_Pwd" column="iCode_User_Pwd"/>
      <result property="iCode_User_Name" column="iCode_User_Name"/>
    </resultMap>
  </resultMaps>
  <statements>
    <!--查询操作 id是你在操作类（也就是我的项目中的service类）中要用到的，resultMap表示返回结果的类型-->
    <select id="SelectAllUser" resultMap="SelectAllResult">
      select iCode_User_ID, iCode_User_Account, iCode_User_Pwd, iCode_User_Name from iCode_User
    </select>
    <!--查询操作 id是你在操作类（也就是我的项目中的service类）中要用到的，resultMap表示返回结果的类型，parameterClass传过来参数的类型，要注意传过来的参数名要跟下面的字段可以一样也可以不一样。-->
    <select id="SelectByUserId" resultClass="User" parameterClass="int">
      select * from iCode_User
      where iCode_User_ID = #userID#
    </select>
    
     <select id="SelectByUserAccount" resultClass="User" parameterClass="string">
      select * from iCode_User
      where iCode_User_ID = #userAccount#
    </select>
    
    <!--添加操作 id是你在操作类（也就是我的项目中的service类）中要用到的，parameterClass传过来参数的类型，这里是实体类。注意下面的selectKey，如果你的id是自增的它会自动把值赋给id-->
    <insert id="InsertUser" parameterClass="User">
      <selectKey property="iCode_User_ID" type="post" resultClass="int">
        ${selectKey}
      </selectKey>
      insert into iCode_User(iCode_User_Account,iCode_User_Pwd,iCode_User_Name) values(#iCode_User_Account#,#iCode_User_Pwd#,#iCode_User_Name#)
    </insert>
    <!--修改操作 id是你在操作类（也就是我的项目中的service类）中要用到的，parameterClass传过来参数的类型，这里是实体类。-->
    <update id="UpdateUser" parameterClass="User">
      update iCode_User set iCode_User_Account=#iCode_User_Account#,
      iCode_User_Pwd=#iCode_User_Pwd#,iCode_User_Name=#iCode_User_Name#
      where iCode_User_ID=#iCode_User_ID#
    </update>
    <!--删除操作 id是你在操作类（也就是我的项目中的service类）中要用到的，parameterClass传过来参数的类型-->
    <delete id="DeleteUser" parameterClass="int">
      delete iCode_User
      where iCode_User_ID = #iCode_User_ID#
    </delete>
  </statements>
</sqlMap>